#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <cstdlib>

using namespace std;

//1.验证crtl+c是收到了2号信号
//2.学习其他的一些接口
//3.自己手写一个kill指令
// void handler(int signo)
// {
//     cout << "get a signal: " << signo << endl;
// }
// int main()
// {
//     // signal(SIGINT, handler);
//     signal(6, handler);
//     int cnt = 0;
//     while(true)
//     {
//         cout << "I am a crazy process: " << getpid() << endl;
//         sleep(1);
//         if(cnt % 2 == 0) 
//         {
//             //kill(getpid(), 2);
//             // raise(2);
//             abort();
//         }
//         cnt++;
//     }
//     return 0;
// }

void Usage()
{
    cout << "usage " << "signo" << " " << "pid" << endl;
}
int main(int argc, char* argv[])
{
    if(argc != 3)
    {
        cout << argv[0] << endl;
        Usage();
        exit(1);
    }
    int signo = atoi(argv[1]);
    pid_t pid = atoi(argv[2]);
    int n = kill(pid, signo);
    if(n == -1)
    {
        perror("kill fail");
        exit(1);
    }
    return 0;
}
